@时光机
2年前 提问
1个回答

HTTP协议的缓存控制需要遵循哪些原则

趣能一姐
2年前

HTTP协议的缓存控制需要遵循以下原则:

  • 如果缓存的内容已经过期,缓存服务器将向源服务器发出验证请求,通过HTTP的ETag头信息或者Last-Modified头信息,从而确定是否可以继续使用当前内容直接提供服务。

  • 在某些情况下(例如源服务器从网络中断开),缓存的内容在过期的情况下也可以直接提供服务。

  • 如果在响应消息中不存在用于判断内容是否有变化的验证值(ETag头信息或者Last-Modified头信息),并且也没有其他任何明显的新鲜度信息,内容通常不会被缓存。

  • 如果响应消息的头信息告诉缓存不要保留副本,缓存就不会缓存相应内容。

  • 如果请求信息需要源服务器认证或者涉及安全协议,相应的请求内容也不会被缓存。

  • 如果缓存的内容含有过期时间和寿命信息,并且此时内容没有过期,缓存内容近期被用于提供服务,并且内容的最后更新时间相对于最近使用的时间较长。